/*
 * 文件名：InstructVo.java	 
 * 时     间：下午10:26:48
 * 作     者：Administrator       
 * 版     权： 2012-2022 湖南智软网络科技, 公司保留所有权利.
 * 联     系：http://www.073586.com/
 */
package com.local.entity.vo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.cz073586.tools.util.Tools;
import com.local.model.LocalCoupon;
import com.local.model.LocalCouponCash;
import com.local.model.LocalPayBill;
import com.local.model.Screen;
import com.local.util.DoubleUtil;

/**
 * 车辆支付流水出表 类描述：
 * 
 * @ClassName: ParkwellPayBillVo
 * @author Administrator
 * @date 2015年6月29日 上午10:21:01
 */
public class ParkwellPayBillVo
{
	
	/**
	 * 2015-11-20增加，是否需要打印流水，防止移动支付后在此打印流水
	 */
	private boolean needPrintPayBill = true;
	
	private Double maxPrice;
	
	public Double getMaxPrice()
	{
		return maxPrice;
	}

	public void setMaxPrice(Double maxPrice)
	{
		this.maxPrice = maxPrice;
	}

	//自动扣费   true:是   false:不是
	private boolean auotPayOut = false;
	
	/**
	 * 纸质优惠券
	 */
	private LocalCoupon lcoupon;
	
	/**
	 * 流水
	 */
	private LocalPayBill payBill;
	
	/**
	 * 所有优惠卷转换成流水，并同步到云系统。防止线程死锁.
	 */
	private List<LocalPayBill> couponToPayBillsList = new ArrayList<LocalPayBill>();
	
	private List<LocalCouponCash> lscList = new ArrayList<LocalCouponCash>();
	// /////////////////// 2015-11-20 end
	/**
	 * 是否是重复数据
	 */
	private boolean isRepetition = false;
	/**
	 * 路口uuid，用于打开闸机
	 */
	private String crossingId;
	/**
	 * 车牌号
	 */
	private String carNo;
	/**
	 * 车辆进场时间
	 */
	private Date carInTime;
	private String carInTimeString;
	/**
	 * 进场ID
	 */
	private String carInUuid;
	
	/**
	 * 出场ID
	 */
	private String carOutUuid;
	/**
	 * 车辆出场时间
	 */
	private Date carOutTime;
	private String carOutTimeString;
	/**
	 * 支付类型
	 */
	private String payType;
	/**
	 * 实际支付
	 */
	private Integer actualPrice = 0;
	/**
	 * 消费金额,总是显示本次消费总额
	 */
	private Integer theoryPrice = 0;
	
	/**
	 * double 本次消费
	 */
	private double theoryPriceDb;
	
	/**
	 * 已经支付金额
	 */
	private double areadyPayPrice = 0;
	
	/**
	 * 商家抵用卷
	 */
	private double couponCashPrice = 0;
	
	/**
	 * 电子代金劵
	 */
	private double couponVouchers = 0;
	
	/**
	 * 返回true表示开闸，false 不开闸
	 */
	private boolean result;
	
	/**
	 * 出场纪录uuid
	 */
	private String uuid;
	
	/**
	 * 停车场标记
	 */
	private String exchangeUuid;
	
	/**
	 * 设备名
	 */
	private String equimentNo;
	
	/**
	 * 实际出场时间金额大于流水金额时，需要补充的差价值.
	 */
	private Double priceDifference;
	
	/**
	 * 停车时长
	 */
	private Long parkTime;
	
	/**
	 * 停车时长
	 */
	private String parkTimeString;
	
	private Byte payStatus;
	
	private String stationUuid;
	
	//优惠券
	private Integer coupon;
	
	// 有没有车辆进出纪录
	private String carInTrue;
	
	/**
	 * 1. 临时车 2.会员 3.平台用户 4.白名单 5.黑名单 6.黄名单
	 */
	private String carNoTye = "临时车";
	
	/**
	 * 计费规则类型，如：102(临时车) ,100（会员车）等 
	 */
	private String billType;
	
	//车类型 《摩托车板车，单车》
	private String carTypeName;
	private String carTypeUuid;
	
	/**
	 * 是否启用滚动计费功能，true表示启用  2016-6-9
	 */
	private boolean isCountBile;
	
	/**
	 * 打印滚动计费表数据值     2016-6-9
	 */
	private double countBillPrice;
	
	/**
	 * 进场结果表uuid，防止无法删除该表数据 2016-6-1 ，觉园停车场.
	 */
	private String repertoryUuid; 
	
	
	
	
	
	public boolean isCountBile()
	{
		return isCountBile;
	}

	public void setCountBile(boolean isCountBile)
	{
		this.isCountBile = isCountBile;
	}

	public double getCountBillPrice()
	{
		return countBillPrice;
	}

	public void setCountBillPrice(double countBillPrice)
	{
		this.countBillPrice = countBillPrice;
	}

	public String getCarTypeUuid()
	{
		return carTypeUuid;
	}

	public void setCarTypeUuid(String carTypeUuid)
	{
		this.carTypeUuid = carTypeUuid;
	}

	public String getCarTypeName()
	{
		return carTypeName;
	}

	public void setCarTypeName(String carTypeName)
	{
		this.carTypeName = carTypeName;
	}

	/**
	 * 路口信息
	 */
	private String roadNmae;
	private String roadUuid;
	//是否启用控制汇总 true启用  2016-7-24
	private boolean isCollect =false;
	//汇总路口uuid
	private String collectRoadUuid ;
	/**
	 * 主控相机编码
	 */
	private String collectCtrEqNo ;
	
	private boolean error = false;
	private String errorMsg;
	
	//当前登录用户
	private String userUuid;
	
	//当前登录用户名
	private String userName;
	
	private ScreenMessage screenMsg;
	
	//屏幕
	private Screen screen;
	
	public boolean isError()
	{
		return error;
	}
	
	public void setError(boolean error)
	{
		this.error = error;
	}
	
	public String getErrorMsg()
	{
		return errorMsg;
	}
	
	public void setErrorMsg(String errorMsg)
	{
		this.errorMsg = errorMsg;
	}
	
	
	
	public double getCouponCashPrice()
	{
		return couponCashPrice;
	}

	public void setCouponCashPrice(double couponCashPrice)
	{
		this.couponCashPrice = couponCashPrice;
	}

	public double getCouponVouchers()
	{
		return couponVouchers;
	}

	public void setCouponVouchers(double couponVouchers)
	{
		this.couponVouchers = couponVouchers;
	}

	public String getRoadNmae()
	{
		return roadNmae;
	}
	
	public void setRoadNmae(String roadNmae)
	{
		this.roadNmae = roadNmae;
	}
	
	public String getRoadUuid()
	{
		return roadUuid;
	}
	
	public void setRoadUuid(String roadUuid)
	{
		this.roadUuid = roadUuid;
	}
	
	public String getEquimentNo()
	{
		return equimentNo;
	}
	
	public void setEquimentNo(String equimentNo)
	{
		this.equimentNo = equimentNo;
	}
	
	public String getExchangeUuid()
	{
		return exchangeUuid;
	}
	
	public void setExchangeUuid(String exchangeUuid)
	{
		this.exchangeUuid = exchangeUuid;
	}
	
	public String getUuid()
	{
		return uuid;
	}
	
	public void setUuid(String uuid)
	{
		this.uuid = uuid;
	}
	
	/**
	 * 推送使用
	 */
	private Date time = new Date();
	
	public String getCarNo()
	{
		return carNo;
	}
	
	public void setCarNo(String carNo)
	{
		this.carNo = carNo;
	}
	
	public Date getCarInTime()
	{
		return carInTime;
	}
	
	public void setCarInTime(Date carInTime)
	{
		this.carInTime = carInTime;
	}
	
	public Date getCarOutTime()
	{
		return carOutTime;
	}
	
	public void setCarOutTime(Date carOutTime)
	{
		this.carOutTime = carOutTime;
	}
	
	public String getPayType()
	{
		return payType;
	}
	
	public void setPayType(String payType)
	{
		this.payType = payType;
	}
	
	public Integer getActualPrice()
	{
		return actualPrice;
	}
	
	public void setActualPrice(Integer actualPrice)
	{
		this.actualPrice = actualPrice;
	}
	
	public Integer getTheoryPrice()
	{
		return theoryPrice;
	}
	
	public void setTheoryPrice(Integer theoryPrice)
	{
		this.theoryPrice = theoryPrice;
	}
	
	public boolean isResult()
	{
		return result;
	}
	
	public void setResult(boolean result)
	{
		this.result = result;
	}
	
	public String getCarInUuid()
	{
		return carInUuid;
	}
	
	public void setCarInUuid(String carInUuid)
	{
		this.carInUuid = carInUuid;
	}
	
	public String getCarOutUuid()
	{
		return carOutUuid;
	}
	
	public void setCarOutUuid(String carOutUuid)
	{
		this.carOutUuid = carOutUuid;
	}
	
	public String getCarInTrue()
	{
		return carInTrue;
	}
	
	public void setCarInTrue(String carInTrue)
	{
		this.carInTrue = carInTrue;
	}
	
	public Integer getCoupon()
	{
		return coupon;
	}
	
	public void setCoupon(Integer coupon)
	{
		this.coupon = coupon;
	}
	
	public String getParkTimeString()
	{
		return parkTimeString;
	}
	
	public void setParkTimeString(String parkTimeString)
	{
		this.parkTimeString = parkTimeString;
	}
	
	public Long getParkTime()
	{
		return parkTime;
	}
	
	public void setParkTime(Long parkTime)
	{
		this.parkTime = parkTime;
	}
	
	public Byte getPayStatus()
	{
		return payStatus;
	}
	
	public void setPayStatus(Byte payStatus)
	{
		this.payStatus = payStatus;
	}
	
	public String getStationUuid()
	{
		return stationUuid;
	}
	
	public void setStationUuid(String stationUuid)
	{
		this.stationUuid = stationUuid;
	}
	
	public Date getTime()
	{
		return time;
	}
	
	public void setTime(Date time)
	{
		this.time = time;
	}
	
	public String getCarInTimeString()
	{
		return carInTimeString;
	}
	
	public void setCarInTimeString(String carInTimeString)
	{
		this.carInTimeString = carInTimeString;
	}
	
	public String getCarOutTimeString()
	{
		return carOutTimeString;
	}
	
	public void setCarOutTimeString(String carOutTimeString)
	{
		this.carOutTimeString = carOutTimeString;
	}
	
	public String getCrossingId()
	{
		return crossingId;
	}
	
	public void setCrossingId(String crossingId)
	{
		this.crossingId = crossingId;
	}
	
	public Double getPriceDifference()
	{
		if(Tools.isEmpty(priceDifference))
		{
			return priceDifference;
		}
		return DoubleUtil.pareToDouble(priceDifference);
	}
	
	public void setPriceDifference(Double priceDifference)
	{
		this.priceDifference = priceDifference;
	}
	
	public boolean isRepetition()
	{
		return isRepetition;
	}
	
	public void setRepetition(boolean isRepetition)
	{
		this.isRepetition = isRepetition;
	}
	
	public String getCarNoTye()
	{
		return carNoTye;
	}
	
	public void setCarNoTye(String carNoTye)
	{
		this.carNoTye = carNoTye;
	}
	
	public double getAreadyPayPrice()
	{
		if(Tools.isEmpty(areadyPayPrice))
		{
			return areadyPayPrice;
		}
		return DoubleUtil.pareToDouble(areadyPayPrice);
	}
	
	public void setAreadyPayPrice(double areadyPayPrice)
	{
		this.areadyPayPrice = areadyPayPrice;
	}
	
	public double getTheoryPriceDb()
	{
		if(Tools.isEmpty(theoryPriceDb))
		{
			return theoryPriceDb;
		}
		return DoubleUtil.pareToDouble(theoryPriceDb);
	}
	
	public void setTheoryPriceDb(double theoryPriceDb)
	{
		this.theoryPriceDb = theoryPriceDb;
	}
	
	public boolean isNeedPrintPayBill()
	{
		return needPrintPayBill;
	}
	
	public void setNeedPrintPayBill(boolean needPrintPayBill)
	{
		this.needPrintPayBill = needPrintPayBill;
	}
	
	public LocalCoupon getLcoupon()
	{
		return lcoupon;
	}
	
	public void setLcoupon(LocalCoupon lcoupon)
	{
		this.lcoupon = lcoupon;
	}
	
	public LocalPayBill getPayBill()
	{
		return payBill;
	}
	
	public void setPayBill(LocalPayBill payBill)
	{
		this.payBill = payBill;
	}
	
	public List<LocalPayBill> getCouponToPayBillsList()
	{
		return couponToPayBillsList;
	}
	
	public void setCouponToPayBillsList(List<LocalPayBill> couponToPayBillsList)
	{
		this.couponToPayBillsList = couponToPayBillsList;
	}
	
	public List<LocalCouponCash> getLscList()
	{
		return lscList;
	}
	
	public void setLscList(List<LocalCouponCash> lscList)
	{
		this.lscList = lscList;
	}

	public boolean isAuotPayOut()
	{
		return auotPayOut;
	}

	public void setAuotPayOut(boolean auotPayOut)
	{
		this.auotPayOut = auotPayOut;
	}

	public String getUserUuid() {
		return userUuid;
	}

	public void setUserUuid(String userUuid) {
		this.userUuid = userUuid;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public ScreenMessage getScreenMsg()
	{
		return screenMsg;
	}

	public void setScreenMsg(ScreenMessage screenMsg)
	{
		this.screenMsg = screenMsg;
	}

	public Screen getScreen()
	{
		return screen;
	}

	public void setScreen(Screen screen)
	{
		this.screen = screen;
	}

	public String getRepertoryUuid()
	{
		return repertoryUuid;
	}

	public void setRepertoryUuid(String repertoryUuid)
	{
		this.repertoryUuid = repertoryUuid;
	}

	public String getBillType()
	{
		return billType;
	}

	public void setBillType(String billType)
	{
		this.billType = billType;
	}

	public boolean isCollect()
	{
		return isCollect;
	}

	public void setCollect(boolean isCollect)
	{
		this.isCollect = isCollect;
	}

	public String getCollectRoadUuid()
	{
		return collectRoadUuid;
	}

	public void setCollectRoadUuid(String collectRoadUuid)
	{
		this.collectRoadUuid = collectRoadUuid;
	}

	public String getCollectCtrEqNo()
	{
		return collectCtrEqNo;
	}

	public void setCollectCtrEqNo(String collectCtrEqNo)
	{
		this.collectCtrEqNo = collectCtrEqNo;
	}

	
}
